namespace init 
{
    void init_resources     (); 
    void init_other         ();

    void init_procedural    ();
    void add_debug_gizmo    (string name);
    void createBar          (Vec2 origin, Vec2 dim, Bar & bar);
    
    void make_scene_query   ();
    void Populate           ();
    void LoadEntity         (string); // only for movables
    void loadlevel          (std::string);
    void loadlist           ();
    void AddPlane           ();
    void AddLights          ();
    MaterialPtr create_hover_material(MaterialPtr mat);
    SceneTypeMask GetScMgrType();
    SceneNode * AddLight(string);

#ifdef USE_YAML
    string get_scalar(const ynode & node);
    void set_mask8(char & mask, char value, bool set = true);
    void set_mask16(short & mask, short value, bool set = true);
#endif
    string tabulate(string s, size_t z);
    string inspect_mask(char c);

    // config file reading
    float    GetFloat   (string _s);
    int      GetInt     (string _s);
    Vec2     GetVect2   (string _s);
    Vec3     GetVect3   (string _s);
    string   GetString  (string _s);
    string   str_vect(Vec3 v)
    { return TO_STR(v.x) + " " + TO_STR(v.y)+ " " + TO_STR(v.z); }
    static string str_quat(Quaternion q)
    { return TO_STR(q.w)+" "+TO_STR(q.x)+" "+TO_STR(q.y)+" "+TO_STR(q.z); }
}